/**
 * Copyright &copy; 2012-2016 <a href="https://istep.lczyfz.com">Istep</a> All rights reserved.
 */
package com.lczyfz.istep.modules.teach.dao;

import com.lczyfz.istep.common.persistence.CrudDao;
import com.lczyfz.istep.common.persistence.annotation.MyBatisDao;
import com.lczyfz.istep.modules.cms.entity.Link;
import com.lczyfz.istep.modules.teach.entity.TeachClass;
import com.lczyfz.istep.modules.teach.entity.TeachStudent;
import com.lczyfz.istep.modules.teach.entity.TeachTeacher;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 班级管理DAO接口
 * @author cqh
 * @version 2017-01-12
 */
@MyBatisDao
public interface TeachClassDao extends CrudDao<TeachClass> {

    //获取所有教师名称
    List<TeachTeacher> findAllTeacherList(String deleteFlag);

    //插入教师用户和角色关联表数据
    void teacherInsertUserRole(@Param("userId")String userId, @Param("roleId")String roleId);

    void insertTeachClassStudent(@Param("id")String id, @Param("userId")String userId);

    void deleteClassStudentModify(@Param("id")String id);

    //获取所有班级名
    List<TeachClass> findAllClassName(String DEL_FLAG_NORMAL);

    //根据登录名获取学生记录
    TeachClass findClassByClassName(@Param("className")String loginName,@Param("DEL_FLAG_NORMAL")String DEL_FLAG_NORMAL);

    //获取所有该班外其他学生列表
    List<TeachTeacher> allOtherAddStudentList(String deleteFlag);

    //根据学生id找到所属的多个班级
    List<TeachClass> findBelongClassById(@Param("userId")String userId,@Param("DEL_FLAG_NORMAL")String DEL_FLAG_NORMAL);

    //根据学生id找到所属的多个班级
    List<TeachStudent> findAllStudentByClassId(@Param("id")String id,@Param("DEL_FLAG_NORMAL")String DEL_FLAG_NORMAL);


    List<TeachStudent> studentClassIDonDeleteClassList(String deleteFlag);

//   @ Alisa_Ye
//    public List<TeachClass> findByIdIn0(String[] ids);


}